Python 波浪线与补码

~,用法只有一个那就是按位取反,需要主意的是:

  • ~的按位取反,包括符号位
  • 正数各位取反变为负数,显示时转化为其补码
  • 负数本身需要先转换为补码(符号位不变,各位取反再加 1),再对其补码进行各位去反

1. ~5

5 的二进制为 0101,

~5

  • (1)各位取反,1010
  • (2)变为负数,转化为其补码形式(符号位保持不变),各位取反 1(1101),再加1(1110),也即 -6
>> ~5
>> -6

2. ~(-5)

-5 因为是负数,存储时存储的是其补码:

  • -5 的补码是:1011,
  • ~(-5)将其各位取反(包括符号位),也即 0100(4)
>> ~(-5)
>> 4
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值